// 入口函数
$(function() {

    // 需求1.切换
    $("#loginBox a").on('click', function() {
        $("#loginBox").hide()
        $("#regBox").show()
    })
    $("#regBox a").on('click', function() {
        $("#regBox").hide()
        $("#loginBox").show()
    })


    // 需求2.定义校验规则
    // console.log(layui);  //导入layui.all
    let form = layui.form  // 把layui里的form 对象引出来
    // 定义校验规则,使用的是 form.verify() 方法
    // 参数是对象,属性名是校验名称,值是校验规则
    form.verify({
        // 属性名是校验名称,值是校验规则
        // 值有两种类型:函数和数组 数组时用逗号分开 上一个是规则 下一个是错误提示
        username: [
            /^[a-zA-Z0-9]{1,10}$/,
            '用户名必须1到10位数组和字母'
        ],
        password: [
            /^[a-zA-Z0-9]{6,12}$/,
            '密码必须6到12位数字和字母'
        ],
        repassword: function(value) {
            // value就是你给哪个标签添加这个晓燕规则,就会获得这个表情的值
            // console.log(value);
            // console.log($("#regBox input[name=repassword]").val());
            // console.log($("#regBox input[name=password]").val());

            let pwd = $("#regBox input[name=password]").val()
            if (pwd !== value) {
                return '两次密码输入不一致,请重新输入密码'
            }
        }


    })

    // 需求3. 注册功能
    let layer = layui.layer
    $("#formReg").on('submit', function(e) {
        // 组织表单默认提交
        e.preventDefault()
        // 发送axios
        axios({
            method: 'POST',
            url: '/api/reguser',
            // 不要传递对象类型,因为对象类型头信息设置的是application
            data: $(this).serialize()
        }).then(res => {
            // console.log(res.data);
            // 判断返回数据是否正确
            if (res.data.status !== 0) {
                // return alert(res.data.messages)
                return layer.msg(res.data.message)
            }
            // 成功后提示
            // alert('恭喜您,注册用户成功')
            layer.msg('恭喜您,注册用户成功')
            // 切换到登录模块
            $("#regBox a").click()
            // 清空表单 DOM元素中 有一个reset() 可以重置表单
            $("#formReg")[0].reset()

        })
    })

    // 需求4.登录功能
    $("#formLogin").on('submit', function(e) {
        // 组织表单默认提交
        e.preventDefault()
        // 发送ajax axios 
        axios({
            method: 'POST',
            url: '/api/login',
            data: $(this).serialize()
        }).then(res => {
            // 判断
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }
            // 成功提示,存储token
            layer.msg('恭喜您,登录成功')
            localStorage.setItem('token', res.data.token)
            // 页面跳转到 indexedDB.html
            location.href = '/index.html'
        })
    })

})